Hyperparameter Optimization হল মেশিন লার্নিং মডেলের পারফরম্যান্স উন্নত করার একটি গুরুত্বপূর্ণ প্রক্রিয়া। এটি বিভিন্ন হাইপারপ্যারামিটার সেটিংস পরীক্ষা করে এবং সঠিক মান চিহ্নিত করে, যাতে মডেলটির সঠিকতা বৃদ্ধি পায়। Grid Search এবং Random Search হল দুইটি জনপ্রিয় কৌশল যা এই প্রক্রিয়াতে ব্যবহৃত হয়।
Grid Search হল একটি সিস্টেম্যাটিক পদ্ধতি যেখানে একটি নির্দিষ্ট প্যারামিটার সেটের জন্য সমস্ত সম্ভাব্য মান পরীক্ষা করা হয়। এটি ব্যবহারকারীকে একটি পরিসরের মান চয়ন করার সুযোগ দেয় এবং সমস্ত সম্ভাব্য সমন্বয় পরীক্ষা করে।
from sklearn.model_selection import GridSearchCV
from catboost import CatBoostClassifier
# CatBoostClassifier তৈরি করা
model = CatBoostClassifier()
# প্যারামিটার গ্রিড তৈরি করা
param_grid = {
'depth': [3, 5, 7],
'learning_rate': [0.01, 0.1, 0.2],
'iterations': [100, 200]
}
# Grid Search তৈরি করা
grid_search = GridSearchCV(estimator=model, param_grid=param_grid, scoring='accuracy', cv=3)
grid_search.fit(X_train, y_train)
# সেরা প্যারামিটার এবং স্কোর দেখা
print("Best Parameters:", grid_search.best_params_)
print("Best Score:", grid_search.best_score_)
Random Search হল একটি এলোমেলো পদ্ধতি যেখানে বিভিন্ন প্যারামিটারগুলির এলোমেলোভাবে নির্বাচিত মানগুলি পরীক্ষা করা হয়। এটি প্যারামিটার স্পেসের মধ্যে এলোমেলোভাবে নমুনা নেওয়ার মাধ্যমে কাজ করে এবং সেরা মডেল চিহ্নিত করে।
from sklearn.model_selection import RandomizedSearchCV
from catboost import CatBoostClassifier
from scipy.stats import uniform
# CatBoostClassifier তৈরি করা
model = CatBoostClassifier()
# প্যারামিটার ডিসক্রিপশন
param_dist = {
'depth': [3, 5, 7],
'learning_rate': uniform(0.01, 0.2), # এলোমেলোভাবে 0.01 থেকে 0.2 এর মধ্যে মান নেবে
'iterations': [100, 200]
}
# Random Search তৈরি করা
random_search = RandomizedSearchCV(estimator=model, param_distributions=param_dist, n_iter=10, scoring='accuracy', cv=3)
random_search.fit(X_train, y_train)
# সেরা প্যারামিটার এবং স্কোর দেখা
print("Best Parameters:", random_search.best_params_)
print("Best Score:", random_search.best_score_)
বৈশিষ্ট্য | Grid Search | Random Search |
---|---|---|
পদ্ধতি | সিস্টেম্যাটিকভাবে সমস্ত সমন্বয় পরীক্ষা | এলোমেলোভাবে নমুনা নেয় |
পরীক্ষা করার সংখ্যা | সম্ভাব্য সমন্বয়ের সংখ্যা দ্বারা নির্ধারিত | ব্যবহৃত নমুনার সংখ্যা দ্বারা নির্ধারিত |
সময়সীমা | বেশি সময় নেয় | কম সময়ে ফলাফল পাওয়া যায় |
সঠিকতা | সঠিক ফলাফল দিতে পারে | কখনও কখনও সঠিক ফলাফল দিতে পারে |
Grid Search এবং Random Search উভয়ই হাইপারপ্যারামিটার অপটিমাইজেশনের জন্য কার্যকরী কৌশল। Grid Search সিস্টেম্যাটিক এবং সম্পূর্ণ পরীক্ষা করে, যেখানে Random Search এলোমেলোভাবে নমুনা নেয়। আপনার প্রয়োজন এবং পরিস্থিতির উপর নির্ভর করে সঠিক পদ্ধতি নির্বাচন করা উচিত।
আরও দেখুন...